<?php
/**
 * 描述 : 通过 core_base::config 调用的环境配置文件
 *      多维数组访问时,以'.'分割读取深层数据, 如下使用 a.b:
 *          'a' => array(
 *              'b' => '456'
 *          )
 * 作者 : Arke.Wu
 */
return [
    'env' => 'prod',
    '_of' => [
        //系统时区, 设置php支持的时区(如: Europe/London 支持夏令时), 读取格式为 ±00:00
        'timezone' => 'PRC',
        //统一调试模式, true=开发环境, null=测试环境, false=生产环境, 字符串=切换调试环境密码
        'debug' => true,
        //可写目录,上传,缓存等路径都将写入该文件夹
        'dataDir' => '/data',
        //用户群体的系统字符集
        'charset' => 'GB18030',
        //视图层文件夹结构 {'/img' : 图片, '/js' : 脚本, '/css' : 样式, '/tpl' : 模板}
        'view' => [
            //视图模板文件扩展名
            'tplExt' => '.html',
            //默认视图模板模板路径
            'tplPath' => '/view',
            //全局标题
            'title' => '易充电子商务有限公司',
        ],
        //配置文件路径, 数组=动态配置{动态键 : 配置路径}, 字符串=等同{"0" : 全局配置}
        'config' => [
            'env' => "/config/base/{$of['env']}.php"
        ],
        //授权数据库服务器作为默认的数据库伺服器
        'db' => [
            'default' => [
                'write' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'system',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
                'read' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'system',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
            ],
            'warehouse' => [
                'write' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'warehouse',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
                'read' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'warehouse',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
            ],
            'product' => [
                'write' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'product',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
                'read' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'product',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
            ],
            'purchase' => [
                'write' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'purchase',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
                'read' => [
                    [
                        'adapter'        => 'mysqli',
                        'params' => [
                            'host'       => '127.0.0.1',
                            'port'       => 3306,
                            'user'       => 'root',
                            'password'   => 'eXhTfa_ik390@ri20',
                            'database'   => 'purchase',
                            'charset'    => 'utf8',
                            'timezone'   => true,
                            'persistent' => false
                        ]
                    ],
                ],
            ],
        ],
        //预先装载类
        'preloaded' => [
            //快捷集成,语言包,扩展都依赖此包
            'of_base_link_setup',
            //错误日志,依赖快捷集成
            'of_base_error_writeLog',
            //session块
            'of_base_session_base',
            //语言包支持,依赖快捷集成
            //'of_base_language_packs',
            //xss 防御
            'of_base_xssFilter_main',
            //扩展支持,依赖语言包,快捷集成
            'of_base_extension_match',
            //html模板引擎,实现UI,开发人员分离
            'of_base_htmlTpl_engine',
            //加载兼容IE6+ bootstrap v3
            //'of_addin_bsui_setup',
            //检查最新版本
            'of_base_version_check',
            'include_composer_vendor_autoload',
            'model_common_Helper'
        ],

        //快捷集成
        'link' => [
            //集成插件
            'addin' => array(
                //php扩展配置文件路径, 默认 OF_DIR . '/addin/config.php'
                'pConfig' => "/config/addin/{$of['env']}.php",
                //js 扩展配置文件路径, 默认 OF_URL . '/addin/config.js'
                'jConfig' => "/config/addin/{$of['env']}.js",
            )
        ],
        //错误日志
        'error' => [
            //日志有效时间(天),0=不清理
            'gcTime' => 30,
            //sql日志路径,false=关闭
            'sqlLog' => '/data/error/sqlLog',
            //php日志路径,false=关闭
            'phpLog' => '/data/error/phpLog',
            //js日志路径,false=关闭
            'jsLog' => '/data/error/jsLog'
        ],
        //会话封装
        'session' => [
            //存储方式, files=文件存储, kv=_of.com.kv方式, mysql=数据库方式
            'adapter' => 'files',
            //正则匹配"调度类名::方法名"判断是否自动开启
            'autoStart' => '@^(?!of_base_com_net:|of_base_sso_api:)@',
            //最大生存时间(分钟)
            'maxLifeTime' => 60,
            //各调度参数
            'params' => [
                #files 模式, 文件存储方式
                //*
                //存储的文件路径
                'path' => '/data/_of/of_accy_session_files'
                // */

                #mysql 模式, mysql存储表信息(推荐Innodb,MEM
                /*
                //数据库连接池
                'dbPool' => 'default',
                // */

                #k-v 模式
                /*
                //k-v 连接池
                'kvPool' => 'default',
                // */
            ]
        ],
        //多语言包
        'language' => [
            //语言包路径
            'path' => '/data/language/Edgar',
            //默认语言
            'default' => 'base'
        ],
        //扩展管理
        'extension' => [
            //扩展程序存储路径
            'path' => '/include/extensions',
            //扩展执行存储路径
            'save' => '/data/_of/of_base_extension/save',
            //设置独享页的类名
            'exclusive' => 'of_ex'
        ],
        //html模板解析引擎
        'htmlTpl' => [
            //编译模版存储路径
            'path' => '/data/_of/of_base_htmlTpl_engine',
            //注释脚本标识 <!--标识[0] php代码 标识[1]-->, [2]脚本匹配正则如'(?:\<\?|_)(.*?)(?:\?\>|)'
            'tagKey' => ['<?', '?>'],
            //属性的前缀 _value 相当于 value
            'attrPre' => '_',
            //功能的前缀 __del 代表删除 当前标签
            'funcPre' => '__'
        ],
        //单点登录
        'sso' => [
            //单点登录所使用的数据库
            'dbPool' => 'default',
            //用户密码有效期(天), 0=不限制, 期满必须修改
            'expiry' => 90,
            //开放注册,单点登录系统使用
            'openReg' => true,
            //对接网址,工具包使用,默认本机接口
            'url' => '',
            //对接帐号,工具包使用
            'name' => 'statistics',
            //对接密码,工具包使用
            'key' => '123456'
        ],
        //系统组件
        'com' => [
            //组件分页设置
            'com::paging' => [
                //默认展示数量
                'size' => 10,
                //检查是否有权限调用分页, @开头的字符串=正则验证, 否则=遵循回调规则(返回true=通过)
                'check' => '@paging$@i'
            ],
            //网络请求
            'net' => [
                //异步请求方案, ""=当前网址, url=指定网址
                'async' => '',
                //k-v 池, 异步请求时用于安全校验
                'kvPool' => 'default'
            ],
            //计划任务
            'timer' => [
                //存储的文件路径
                'path' => '/data/_of/of_base_com_timer',
                //动态任务
                'task' => [
                    //存储方式, files=文件模式, mysql=数据库模式
                    'adapter' => 'files',
                    'params' => [
                        #mysql 模式, mysql存储表信息(推荐Innodb)
                        /*
                        //数据库连接池
                        'dbPool' => 'default',
                        // */
                    ]
                ],
                //静态任务
                'cron' => [
                    //静态计划任务文件
                    'path' => "/config/timer/{$of['env']}.php",
                    //k-v 池, 分布式时防重复执行
                    'kvPool' => 'default'
                ]
            ],
            //key-value 数据存储 可像db分连接池, 'default'为默认连接池
            /*
            'kv' => [
                'default' => [
                    //适配文件 of_accy_com_kv_xxx
                    'adapter' => 'redis',
                    //对应的配置
                    'params'  => [
                        #redis 多点模式, redis扩展 >= 4.3.0
                        'type' => 'single',
                        //地址
                        'host' => '127.0.0.1:6379',
                        //密码
                        'auth' => '',
                        //数据库
                        'db'   => 0,
                        //是否长连接
                        'persistent' => false
                    ]
                ]
            ],
            */
            //消息队列
            'mq' => [
                //默认消息队列池
                'default' => [
                    //适配器
                    'adapter' => 'mysql',
                    //调度参数
                    'params' => [
                        'dbPool' => 'default'
                    ],
                    //绑定事务数据库
                    'bindDb' => 'default',
                    //队列列表
                    'queues' => "/config/mq/{$of['env']}.php"
                ],//*/
                //执行与订单相关的队列
                'queues' => [
                    //适配器
                    'adapter' => 'mysql',
                    //调度参数
                    'params' => [
                        'dbPool' => 'queue'
                    ],
                    //绑定事务数据库
                    'bindDb' => 'queue',
                    //队列列表
                    'queues' => "/config/mq/queues.php"
                ]
            ]
        ],
        //系统插件
        'addin' => [
            'oUpload' => [
                //禁止上传的扩展文件, 白名单写法 "@^(?!(exe|php|html|htm|js|css)$)@"
                'filtExt' => '@^(?:exe|php|html|htm|js|css|)$@',
                //允许上传的文件夹(仅可匹配文件夹), 正则结果[1]可以指定根目录
                'folder' => '@^(/data)/upload/@'
            ]
        ]
    ]
];
